package com.zscat.mallplus.dms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zscat.mallplus.dms.entity.DmsOrder;

import java.math.BigDecimal;

/**
 * <p>
 * 驾校订单 服务类
 * </p>
 *
 * @author coffeecat
 * @since 2020-05-01
 */
public interface IDmsOrderService extends IService<DmsOrder> {
    /**
     * 关闭订单
     *
     * @param order 订单对象
     * @return
     */
    boolean closeOrder(DmsOrder order);

    /**
     * 根据设备信息和开始时间获取结束时间
     * @param deviceId  设备ID
     * @return  结束时间
     */
    String calEndTime(Long deviceId);

    /**
     * 退款部分退款
     * @param order 订单信息
     * @return  退款金额
     */
    BigDecimal refundPartOrder(DmsOrder order);

    /**
     * 根据设备信息和开始时间还要积分余额获取结束时间
     * @param deviceId  设备ID
     * @param integral  积分余额
     * @return  结束时间
     */
    String calEndTime(Long deviceId,int integral);

    /**
     * 计算需要支付的金额
     * @param order 订单
     * @return 需要支付的金额
     */
    BigDecimal calPayMoney(DmsOrder order);
}
